package q788_rotatedDigits;

public class Solution_1 {
    static int[] check = {0, 0, 1, -1, -1, 1, 1, -1, 0, 1};
    /*
    根据题目的要求，一个数是好数，当且仅当：
    数中没有出现 3, 4, 7
    数中至少出现一次 2 或 5 或 6 或 9；
    对于 0, 1, 8 则没有要求.
    因此，我们可以枚举 [1, n] 的每一个正整数，并以此判断它们是否满足上述要求即可
     */
    public int rotatedDigits(int n) {
        int ans = 0;
        for (int i = 1; i <= n; ++i) {
            String cur = i + "";
            boolean flag_1 = true, flag_2 = false;
            for (int j = 0; j < cur.length(); ++j) {
                if (check[cur.charAt(j) - '0'] == -1) {
                    flag_1 = false;
                } else if (check[cur.charAt(j) - '0'] == 1) {
                    flag_2 = true;
                }
            }
            if (flag_1 && flag_2) ++ans;
        }
        return ans;
    }
}
